''''
描述：对requests中的常用的方法进行封装
     1、实现自动管理Cookie
     2、try-except处理异常
     3、相关数据打印下来，方便定位问题
'''''
import requests


class BaseRequests:
    def __init__(self):
        self.session = requests.session() # 自动管理Cookie

    def get(self, url, **kwargs):
        # 参数透传，不处理
        try:
            r = self.session.get(url, **kwargs)
            print(f"发送get请求成功，url为：{url}，数据为：{kwargs}")
            print(f"响应结果为：{r.text}")
            return r
        except Exception as e:
            print(f"发送get请求异常，url为：{url}，数据为：{kwargs}，异常为：{e}")

    def post(self, url, data=None, json=None, **kwargs):
        # 参数透传，不处理
        try:
            r = self.session.post(url, data=data, json=json, **kwargs)
            print(f"发送post请求成功，url为：{url}，数据为：{data},{json},{kwargs}")
            print(f"响应结果为：{r.text}")
            return r
        except Exception as e:
            print(f"发送post请求异常，url为：{url}，数据为：{data},{json},{kwargs}，异常为：{e}")

#
if __name__ == '__main__':
    br = BaseRequests()
    br.get("https://www.baidu.com/")
    br.post("https://www.baidu.com/")